package com.atguigu01.file;

import java.io.File;

/**
 * ClassName: FileTest
 * Package: com.atguigu01.file
 * Description:
 *
 * @Author 尚硅谷-宋红康
 * @Create 2025/8/12 16:53
 * @Version 1.0
 */

/*
public File (String pathname) ：
    以 pathname 为路径创建 File 对象，可以是绝对路径或者相对路径，如果 pathname 是相对路径，则默认的当前路径在系统属性 user.dir 中存储。
public File (String parent, String child) ：
    以 parent 为父路径，child 为子路径创建 File 对象。
public File (File parent, String child) ：
    根据一个父 File 对象和子文件路径创建 File 对象。


文件的路径表示方式：
方式 1：绝对路径：以 windows 操作系统为例，包括盘符在内的文件或文件目录的完整路径。
方式 2：相对路径：相对于某一个文件目录来讲的相对的位置。
在 IDEA 中，如果使用单元测试方法：相对于当前的 module 来讲
           如果使用 main () 方法：相对于当前的 project 来讲


- 虽然File对象说到底也只能通过路径名字符串创建，但File对象和路径名字符串仍是不同类的对象。
- File 对象属于java.io.File类，它是对文件或目录路径的抽象表示，不仅包含路径信息，还提供了许多操作路径（如判断是否为文件、是否为目录、创建文件 / 目录等）的方法。
- 而路径名字符串属于java.lang.String类，仅仅是一串字符序列，仅表示路径的文本形式，不具备 File 类的那些操作方法。
- 因此，尽管 File 对象通常通过路径名字符串创建，但二者属于完全不同的类
 */


public class FileTest {
    public static void main(String[] args) {

        //public File (String pathname)
        File file1 = new File("d:\\io/hello.txt");//文件路径在是捺，但在这里也可以用撇来表示。

        //字符串末尾如果有后缀，这个字符串就是一个文件；如果没有后缀，就是一个文件目录。
        File file2 = new File("abc");//没有从盘符开始，就默认是相对路径。

        System.out.println(file2.getAbsolutePath());  //D:\CODE\chapter15_io\abc
    }
}
